/*
Copyright (c) 2006 - 2008  Universitaet Osnabrueck, virtUOS
Authors: Markus Ketterl, Johannes Emden, Nils Schuhmacher, Andreas Rickling

This file is part of virtPresenter.

virtPresenter is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

virtPresenter is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with virtPresenter.  If not, see <http://www.gnu.org/licenses/>.
*/

package virtPresenter.model
{
	/**
	 * The Class TimeStep creates objects that contain all important
	 * imformation about a certain timestep in the video (e.g. corresponding slide ID, slide title , slide text).
	 * 
	 */	
	public class TimeStep
	{
		private var time:int;
		private var step:int;
		private var id:int;
		private var animationStep:int;   // animation step relative to the slide id		
		private var title:String="Kein Titel";		
		private var textOnSlide:String="";
		
		/**
		 * Constructor for TimeStep.
		 * */
		public function TimeStep():void
		{
			
		}
		
		/**
		 * Setter for the animationStep. Animationstep is realtive to the slide id.
		 * 
		 * @parameter animationStep
		 * */
		public function setAnimationStep(animationStep:int):void
		{
			this.animationStep=animationStep;
		}
		
		/**
		 * Getter for the animationstep.
		 * 
		 * @return animationStep
		 * */
		public function getAnimationStep():int
		{
			return this.animationStep;	
		}
		
		/**
		 * Setter for the time.
		 * 
		 * @parameter time
		 * */
		public function setTime(time:int):void
		{
			this.time = time;
		}
		
		/**
		 * Getter for the time.
		 * 
		 * @return time
		 */
		public function getTime():int
		{
			return this.time;
		}
		
		/**
		 * Setter for the step. Step is relative to the first step.
		 * 
		 * @parameter Step
		 */
		public function setStep(step:int):void
		{
			this.step = step;
		}
		
		/**
		 * Getter for the step. Step is relative to the first step.
		 * 
		 * @return Step
		 */
		public function getStep():int
		{
			return this.step;
		}
		
		/**
		 * Setter for the slide ID.
		 * 
		 * @parameter slideID
		 * */
		public function setID(id:int):void
		{
			this.id = id;
		}
		
		/**
		 * Getter for the slide ID.
		 * 
		 * @return slideID
		 * */
		public function getID():int
		{
			return this.id;
		}
		
		/**
		 * Setter for the title.
		 * */
		public function setTitle(title:String):void
		{
			this.title = title;
		}
		
		/**
		 * Getter for the title.
		 * */
		public function getTitle():String
		{
			return this.title;
		}
		
		/**
		 * Setter for the text on the slide. 
		 * */
		public function setTextOnSlide(textOnSlide:String):void
		{
			this.textOnSlide = textOnSlide;
		}
		
		/**
		 * Getter for the text on the slide.
		 * */
		public function getTextOnSlide():String
		{
			return this.textOnSlide;
		}
		
		/**
		 * Delivers the string representation of the timeStep.
		 * */
		public function toString():String
		{
			return this.time+" SlideID:"+this.id+" Step:"+this.step+" AniStep:"+this.animationStep+" "+this.textOnSlide;
		}
	}
}